Data processing systems typically require a large amount of data storage. These systems often comprise multiple host processors concurrently storing data to multiple storage volumes through multiple drive units. The data storage within these systems often includes removable media, such as magnetic tape or optical disk, since it is useful for data that must be stored for long periods of time, data that is infrequently accessed, or data that is backed-up or migrated from more accessible storage media, such as electronic memory or DASD.
Virtual data storage systems, more commonly implemented as virtual tape storage (VTS) systems, have recently been developed to increase the efficiency and economics of tape storage systems. Tape storage systems which attach to many host processors typically require many tape drives to accommodate concurrent demands made by separate host processors for accessing separate tape storage volumes. Accordingly, the tape storage system may utilize the tape drives in bursts of high activity separated by intervals of little activity. VTS systems overcome this problem by providing interfaces to the host processors for addressing many more tape drives than actually exist within the storage subsystem. The host processors transfer data files to the attached VTS system as tape volumes, or logical volumes. The VTS system first stores the logical volumes as files in a cache storage, such as a direct access storage device (DASD) or an electronic memory, and subsequently writes the data files from the cache to the tape storage subsystem. When the logical volume has been stored in the cache storage, it appears to the host processor that the logical volume has been stored as a tape volume in the VTS system. The VTS system manages the migration of the data file to a tape storage volume, and selects which physical tape drive is used to write the data to tape.
The VTS system provides quicker access to data files stored in the cache storage. When a host processor reads a tape volume that remains stored as a file in the cache storage, a "cache-hit" allows the VTS system to transfer the corresponding file to requesting host processor in a fraction of the time required to read the logical volume from the tape storage. Thus, the VTS system must also manage the cache storage and the tape storage such that the more frequently requested tape volumes reside in the cache storage. Higher performance, more efficient VTS systems premigrate files from the cache storage to the tape storage subsystem. That is, the VTS system copies the data file to a tape storage volume, but does not remove the file from the cache storage. In this scheme, the VTS system has transferred the logical volume to the tape storage, but has kept a copy in the cache storage, providing faster host access to the logical volume. The VTS system, however, can maintain two copies of the data for only a small subset of the logical volumes transferred from the host processors.
VTS systems typically employ a scheme for managing which logical volumes remain in the cache storage by migrating the least recently used files from the cache storage to the tape storage subsystem. When the VTS system migrates a DASD file to a tape storage volume, the data file must be "opened". When the VTS system opens the data file, it prevents the host processors from accessing the same file to ensure data integrity. That is, opening a file is a mechanism for preventing, or locking out, other system components from contending for the file, and more importantly, from modifying the file. Thus, copying the data file to a storage volume within the tape storage subsystem prevents the host processor from reading the data file, thereby delaying host access to the logical volume and degrading the performance of the data processing system.
Many times, host applications perform re-access a volume that was just written. This volume re-access typically occurs very soon after the volume has been written to the data storage system. In the VTS system, the volume re-access would be delayed if the data file was immediately copied to the tape storage subsystem, since the VTS system would lock out the host processor from accessing the cache storage copy of the logical volume. Therefore, a method and system is needed within the VTS system to copy the data file from the cache storage to the tape storage subsystem such that delays to host access of the data file are minimized and the data integrity within the data file is maintained.